type Module = {
  menu: {
    setActiveIndex: (index: string) => string;
    setCollapse: (index: string) => string;
  };

  tabs: {
    seteditableTabsValue: (editValue: string) => void;
    setTabs: (index: string) => void;
    setTabsList: (index: string) => void;
  };
};

// 模板字符类型
type MB<T, U> = `${T & string}/${U & string}`;
type TestMB = MB<"menu", "setActiveIndex" | "setCollapse">;

type GetSpliceKeys<T extends object> = {
  [Key in keyof T]: MB<Key, keyof T[Key]>;
}[keyof T];

type TestSpliceKeys = GetSpliceKeys<Module>;

export {};
